# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName : HJ103.py
# @Time     : 2024/3/10 19:28
# @Author   : Robot-Zsj
"""
description:

Redraiment是走梅花桩的高手。Redraiment可以选择任意一个起点，从前到后，但是只能从低处往高处的桩子走。他希望走的步数最多，你能提Redraiment研究他最多走的步数吗？

输入描述
数据共2行，第一行先输入数组的个数，第二行再输入梅花桩的高度
6
2 5 1 5 4 5

输出描述：
输出一个结果
3


假设dp[i]为终点为第i个桩的最大走法

那么比较之前num[j]中比num[i]小的桩的最大走法：
如果num[j]<num[i]，那么就有两种情况

1. 踩上j桩，dp[i] = 1 + dp[j]
2. 不睬，忽略：dp[i]=dp[i]原数量不变
"""


def main():
    n = int(input())
    s = list(map(int, input().split()))
    dp = [1] * n
    for i in range(n):
        for j in range(i):
            if s[i] > s[j]:
                dp[i] = max(1 + dp[j], dp[i])
    print(max(dp))


while True:
    try:
        main()
    except:
        break
